﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum КодыОперацийМатериалыВПроизводстве
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"788c05ba-f1d5-466a-a5d1-25f3ebd313fb\", \"Представление\":\"СписаниеПартийВПроизводствоОперативно\"}")]
		СписаниеПартийВПроизводствоОперативно = 0,//Списание партий в производство оперативно
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"26a1504f-986f-4041-ac33-3819f48ece53\", \"Представление\":\"СписаниеПоПрямымЗатратам\"}")]
		СписаниеПоПрямымЗатратам = 1,//Списание по прямым затратам
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"b70d1f5b-f171-418a-a661-09d74dd61f8f\", \"Представление\":\"ВозвратИзПроизводства\"}")]
		ВозвратИзПроизводства = 2,//Возврат из производства
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"2f84c2a8-14c5-4789-90d6-ea6c6069fcc9\", \"Представление\":\"ИнвентаризацияНЗП\"}")]
		ИнвентаризацияНЗП = 3,//Инвентаризация незавершенного производства
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"daaf2e1c-403c-4937-b814-99faf2be45ca\", \"Представление\":\"СписаниеНЗПФикс\"}")]
		СписаниеНЗПФикс = 4,//Списание незавершенного производства (по фиксированной стоимости)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"48e76588-dd1a-4abc-891c-ee29b38cb052\", \"Представление\":\"СписаниеНЗПРасч\"}")]
		СписаниеНЗПРасч = 5,//Списание незавершенного производства (по расчетной стоимости)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f1156897-165b-4380-a1e9-d34d96d46592\", \"Представление\":\"ОприходованиеНЗП\"}")]
		ОприходованиеНЗП = 6,//Оприходование НЗП
		[EnumMember(Value = "{\"Ссылка\":\"2496e2b7-3e62-4ad4-a252-d51c8c3e3634\", \"Представление\":\"КорректировкаНЗП\"}")]
		КорректировкаНЗП = 7,//Корректировка незавершенного производства
	}
	public static partial class КодыОперацийМатериалыВПроизводстве_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеПартийВПроизводствоОперативно = new Guid("f325d1a5-d3eb-fb13-466a-f1d5788c05ba");//Списание партий в производство оперативно
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеПоПрямымЗатратам = new Guid("193833ac-8ef4-53ce-4041-986f26a1504f");//Списание по прямым затратам
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратИзПроизводства = new Guid("d70961a6-d64d-8f1f-418a-f171b70d1f5b");//Возврат из производства
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ИнвентаризацияНЗП = new Guid("6cead690-6960-c9fc-4789-14c52f84c2a8");//Инвентаризация незавершенного производства
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеНЗПФикс = new Guid("fa9914b8-bef2-ca45-4937-403cdaaf2e1c");//Списание незавершенного производства (по фиксированной стоимости)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СписаниеНЗПРасч = new Guid("29ee1c89-8cb3-52b0-4abc-dd1a48e76588");//Списание незавершенного производства (по расчетной стоимости)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОприходованиеНЗП = new Guid("4dd3e9a1-d496-9265-4380-165bf1156897");//Оприходование НЗП
		public static readonly Guid КорректировкаНЗП = new Guid("1cd552a2-3e8c-3436-4ad4-3e622496e2b7");//Корректировка незавершенного производства
		public static КодыОперацийМатериалыВПроизводстве Получить(this КодыОперацийМатериалыВПроизводстве Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static КодыОперацийМатериалыВПроизводстве Получить(this КодыОперацийМатериалыВПроизводстве Значение, Guid Ссылка)
		{
			if(Ссылка == СписаниеПартийВПроизводствоОперативно)
			{
				return КодыОперацийМатериалыВПроизводстве.СписаниеПартийВПроизводствоОперативно;
			}
			else if(Ссылка == СписаниеПоПрямымЗатратам)
			{
				return КодыОперацийМатериалыВПроизводстве.СписаниеПоПрямымЗатратам;
			}
			else if(Ссылка == ВозвратИзПроизводства)
			{
				return КодыОперацийМатериалыВПроизводстве.ВозвратИзПроизводства;
			}
			else if(Ссылка == ИнвентаризацияНЗП)
			{
				return КодыОперацийМатериалыВПроизводстве.ИнвентаризацияНЗП;
			}
			else if(Ссылка == СписаниеНЗПФикс)
			{
				return КодыОперацийМатериалыВПроизводстве.СписаниеНЗПФикс;
			}
			else if(Ссылка == СписаниеНЗПРасч)
			{
				return КодыОперацийМатериалыВПроизводстве.СписаниеНЗПРасч;
			}
			else if(Ссылка == ОприходованиеНЗП)
			{
				return КодыОперацийМатериалыВПроизводстве.ОприходованиеНЗП;
			}
			else if(Ссылка == КорректировкаНЗП)
			{
				return КодыОперацийМатериалыВПроизводстве.КорректировкаНЗП;
			}
			return КодыОперацийМатериалыВПроизводстве.ПустаяСсылка;
		}
		public static byte[] Ключ(this КодыОперацийМатериалыВПроизводстве Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this КодыОперацийМатериалыВПроизводстве Значение)
		{
			switch (Значение)
			{
				case КодыОперацийМатериалыВПроизводстве.СписаниеПартийВПроизводствоОперативно: return СписаниеПартийВПроизводствоОперативно;
				case КодыОперацийМатериалыВПроизводстве.СписаниеПоПрямымЗатратам: return СписаниеПоПрямымЗатратам;
				case КодыОперацийМатериалыВПроизводстве.ВозвратИзПроизводства: return ВозвратИзПроизводства;
				case КодыОперацийМатериалыВПроизводстве.ИнвентаризацияНЗП: return ИнвентаризацияНЗП;
				case КодыОперацийМатериалыВПроизводстве.СписаниеНЗПФикс: return СписаниеНЗПФикс;
				case КодыОперацийМатериалыВПроизводстве.СписаниеНЗПРасч: return СписаниеНЗПРасч;
				case КодыОперацийМатериалыВПроизводстве.ОприходованиеНЗП: return ОприходованиеНЗП;
				case КодыОперацийМатериалыВПроизводстве.КорректировкаНЗП: return КорректировкаНЗП;
			}
			return Guid.Empty;
		}
	}
}